// 平台组件暴露模块
// 这个文件负责将平台的核心组件暴露给独立打包的模块使用

// 导入平台的组件
import NodeTree from '@/components/public/NodeTree/index.vue';

// 定义平台要暴露的组件集合
export const platformComponents = {
  NodeTree: {
    NodeTree: NodeTree
  }
};

// 将组件挂载到全局变量
export function setupPlatformComponents() {
  // 确保window对象存在
  if (typeof window !== 'undefined') {
    // 将平台组件暴露到全局
    window.platformComponents = platformComponents;
    
    console.log('平台组件已暴露到 window.platformComponents');
  }
}

// 在平台启动时调用
setupPlatformComponents();

// 添加类型声明
declare global {
  interface Window {
    platformComponents: typeof platformComponents;
  }
}